package com.hutao.manage.timer;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.hutao.manage.service.BloodTypeService;
import com.hutao.manage.service.RaNrs2000Service;
import com.hutao.manage.service.SyncHisDataService;
import com.hutao.manage.util.DateUtil;

/**
 * 
 * @author 90669
 *
 */
@Component
@EnableScheduling
public class RaNrsScheduleTimer {

	private Logger logger= LoggerFactory.getLogger(getClass());
	
	@Autowired
	private BloodTypeService bloodTypeService;
	
	@Autowired
	private SyncHisDataService syncHisDataService; 
	
	@Autowired
	private RaNrs2000Service raNrs2000Service;
	
	 /**
     * 定时营养评估数据
     */
  // @Scheduled(cron="0 33 01 * * ?")
    public void generateFileTimer(){
        logger.info("--------------定时将营养评估数据同步至服务器->开始时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date())+"--------------");
        raNrs2000Service.synchronizedRaNrs2000DataTo55(null);
        logger.info("--------------定时将营养评估数据同步至服务器->结束时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date()) +"--------------");
    }
    
    
    /**
     * 定时提取血型信息
     */
    //@Scheduled(cron="0 10 23 * * ?")
    public void generateBloodTypeTimer(){
        logger.info("--------------定时将血型同步至服务器->开始时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date())+"--------------");
        bloodTypeService.syncBloodType(DateUtil.getPreDayStr(new Date()));
        logger.info("--------------定时将血型同步至服务器->结束时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date()) +"--------------");
    }
     
     
     
     /**
      * 定时更新床位信息
      */
  	 //@Scheduled(cron = "0 */5 * * * ?")
     public void syncInterfaceAdmIdInHosTimer(){
    	  
    	  String endDate = DateUtil.dateFormat("yyyy-MM-dd", new Date());
    	  String startDate = DateUtil.dateFormat("yyyy-MM-dd",DateUtil.getPreMonthDate(new Date()));
    	  
    	  
         logger.info("--------------定时更新床位信息至服务器->开始时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date())+"--------------");
         syncHisDataService.syncHisInterfaceAdmInHosInfo(startDate, endDate);
         logger.info("--------------定时更新床位信息至服务器->结束时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date()) +"--------------");
     }    
     
     
     /**
      * 定时手术申请床位信息
      */
  	 //@Scheduled(cron = "0 */15 * * * ?")
     public void syncOpApplyBedTimer(){
         logger.info("--------------定时更新手术申请床位->开始时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date())+"--------------");
         syncHisDataService.syncOpApplyBedInfo();
         logger.info("--------------定时更新手术申请床位->结束时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date()) +"--------------");
     }     
     
     
     
     /**
      * 定时提取输血信息
      */
  	// @Scheduled(cron = "0 59 11,23 * * ?")
     public void syncHisApplyReportQryPackTimer(){
    	  
    	  String endDate = DateUtil.dateFormat("yyyy-MM-dd", new Date());
    	  String startDate =DateUtil.getPreTenDayStr(new Date());
    	  
         logger.info("--------------定时提取输血信息至服务器->开始时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date())+"--------------");
         syncHisDataService.syncHisApplyReportQryPack(startDate, endDate);
         logger.info("--------------定时提取输血信息至服务器->结束时间:"+ DateUtil.dateFormat("yyyy-MM-dd HH:mm:ss", new Date()) +"--------------");
     }  
	
}
